﻿/******************************************************************************* 
  Copyright (C), 1988-2020, zeno Tech. Co., Ltd.
  Description:  SYS模块中RTC定义
  Function List:
            
*******************************************************************************/
#ifndef SYS_RTC_H 
#define SYS_RTC_H  

#ifdef __cplusplus
extern "C" {
#endif

/*=============================================================================
                                 Includes                                  
==============================================================================*/


/*=============================================================================
                               Macro Definition
==============================================================================*/

                        
/*=============================================================================
                        Local Structures and Typedef 
==============================================================================*/

/* Rtc时间结构体 */
typedef struct
{
	int  year;		/* 年。*/
	int  month;		/* 月，January = 1, February = 2, and so on. */
	int  day;		/* 日。*/
	int  wday;		/* 星期，Sunday = 0, Monday = 1, and so on */
	int  hour;		/* 时。*/
	int  minute;	/* 分。*/
	int  second;	/* 秒。*/
} SYS_rtcTime_t;

/*=============================================================================
                             extern  Variables                                  
==============================================================================*/


/*=============================================================================
                             Function Definition                                  
==============================================================================*/ 

/*******************************************************************************
  Function:     SYS_RtcReadTime
  Description:  从RTC芯片的读取时间
  Input:        无
  Output:       -pTime 实时时间
  Return:       = 0  成功
                < 0  失败
  Others:       无
*******************************************************************************/
int SYS_RtcReadTime(SYS_rtcTime_t *pTime);


/*******************************************************************************
  Function:     SYS_RtcWriteTime
  Description:  设置时间到RTC芯片内
  Input:        -pTime 实时时间
  Output:       无
  Return:       = 0  成功
                < 0  失败
  Others:       无
*******************************************************************************/
int SYS_RtcWriteTime(const SYS_rtcTime_t *pTime);


/*******************************************************************************
  Function:     SYS_RtcReadAlarmTime
  Description:  获取RCT定时报警时间
  Input:        无
  Output:       -pTime 定时报警时间
  Return:       = 0  成功
                < 0  失败
  Others:       无
*******************************************************************************/
int SYS_RtcReadAlarmTime(SYS_rtcTime_t *pTime);


/*******************************************************************************
  Function:     SYS_RtcWriteAlarmTime
  Description:  设置RCT定时报警时间
  Input:        -pTime 定时报警时间
  Output:       无
  Return:       = 0  成功
                < 0  失败
  Others:       无
*******************************************************************************/
int SYS_RtcWriteAlarmTime(const SYS_rtcTime_t *pTime);


/*******************************************************************************
  Function:     SYS_RtcEnableAlarm
  Description:  是否使能RTC定时报警
  Input:        -enable: 1:使能; 0:禁止
  Output:       无
  Return:       = 0  成功
                < 0  失败
  Others:       无
*******************************************************************************/
int SYS_RtcEnableAlarm(unsigned int enable);

#ifdef __cplusplus
}
#endif
#endif /* SYS_RTC_H */

